Validate documentation: dos filas con un estado inventado tenían en rojo el gate entero - #86
Merged
Merged
Conversation
…ntero (Validate documentation) `Validate documentation` llevaba en rojo desde al menos 2026-07-25 con 111 fallos, y 97 de ellos eran una sola causa repetida. `validate-docs.mjs` rankea el estado de cada fila del registro (BLOCKED 0, OPEN 1, DEFERRED 2, RESOLVED 3) y exige que la columna no retroceda. Dos filas —COH-006 y COH-007— decian `CLOSED`, que no esta en el vocabulario, asi que recibian rango 99. Y como el guardian arrastra `previousStatusRank = max(prev, rank)`, ese 99 se quedaba pegado: TODAS las filas siguientes retrocedian contra el y fallaban. Dos celdas mal escritas en la fila 11 y 12 producian 97 errores en las filas 13 a 107. Los 99 fallos del registro se cierran con: · `CLOSED` -> `RESOLVED` en esas dos filas. No es una reclasificacion: su columna de resolucion ya empieza por "Resolved:" y las otras 105 filas del registro usan `RESOLVED`. `CLOSED` era una variante suelta del mismo estado. · Orden estable por rango. La tabla ya venia casi ordenada OPEN -> DEFERRED -> RESOLVED; lo unico fuera de sitio eran 8 filas RESOLVED encabezandola. Se conserva el orden relativo dentro de cada grupo, asi que el diff no reordena nada mas. · Renumerada la columna `#`, que estaba descolocada de antes — la ultima fila de la tabla era la numero 1. Verificado que el registro no perdio nada: mismos 107 IDs antes y despues, mismo conjunto exacto, cero duplicados. El resultado es OPEN x14, DEFERRED x1, RESOLVED x92. Los 12 fallos restantes eran emoji usados como marcadores semanticos en cuatro documentos ajenos al registro. Se sustituyen por su equivalente en palabras (`**Works:**`, `**Caveat:**`, `**Warning:**` y sus espejos en castellano) en vez de borrarlos: el simbolo distinguia lo que funciona de lo que no, y quitarlo sin mas habria dejado una lista plana donde antes se leia de un vistazo. `node .harness/scripts/validate-docs.mjs` -> "Documentation validation passed for 355 Markdown files". Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This was referenced Aug 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Validate documentationllevaba en rojo desde al menos 2026-07-25, con 111 fallos. 97 de ellos eran una sola causa repetida.La causa
validate-docs.mjsrankea el estado de cada fila del registro (BLOCKED0,OPEN1,DEFERRED2,RESOLVED3) y exige que la columna no retroceda. Dos filas —COH-006yCOH-007— decíanCLOSED, que no está en el vocabulario, así que recibían rango 99. Y el guardián arrastrapreviousStatusRank = max(prev, rank), de modo que ese 99 se quedaba pegado: todas las filas siguientes retrocedían contra él y fallaban.Dos celdas mal escritas en las filas 11 y 12 producían 97 errores en las filas 13 a 107. Por eso el gate llevaba una semana en rojo por algo que parecía masivo y no lo era.
El arreglo
CLOSED→RESOLVEDen esas dos filas. No es una reclasificación: su columna de resolución ya empieza porResolved:y las otras 105 filas del registro usanRESOLVED.CLOSEDera una variante suelta del mismo estado.OPEN → DEFERRED → RESOLVED; lo único fuera de sitio eran 8 filasRESOLVEDencabezándola. Se conserva el orden relativo dentro de cada grupo, así que el diff no reordena nada más de lo necesario.#, que estaba descolocada de antes — la última fila de la tabla era la número 1.Los 12 fallos restantes eran emoji usados como marcadores semánticos en cuatro documentos ajenos al registro. Se sustituyen por su equivalente en palabras (
**Works:**,**Caveat:**,**Warning:**y sus espejos en castellano) en vez de borrarlos: el símbolo distinguía lo que funciona de lo que no, y quitarlo sin más habría dejado una lista plana donde antes se leía de un vistazo.Verificación
El registro no perdió nada — comprobado contra
HEAD: mismos 107 IDs antes y después, mismo conjunto exacto, cero duplicados. El resultado esOPEN x14,DEFERRED x1,RESOLVED x92.node .harness/scripts/validate-docs.mjs→ "Documentation validation passed for 355 Markdown files".Nota: el gate
conformsigue rojo y este PR no lo toca. Ese depende de crear el secretoCORE_REPO_TOKENy es independiente.🤖 Generated with Claude Code